home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / xip / iijppp.lzh / src / mbuf.h < prev    next >
C/C++ Source or Header  |  1994-01-05  |  1KB  |  46 lines

  1. #ifndef _MBUF_H_
  2. #define _MBUF_H_
  3.  
  4. struct mbuf {
  5.   u_char *base;        /* pointer to top of buffer space */
  6.   short size;        /* size allocated from base */
  7.   short offset;        /* offset to start position */
  8.   short cnt;        /* available byte count in buffer */
  9.   short type;
  10.   struct mbuf *next;    /* link to next mbuf */
  11.   struct mbuf *pnext;    /* link to next packet */
  12. };
  13.  
  14. struct mqueue {
  15.   struct mbuf *top;
  16.   struct mbuf *last;
  17.   int qlen;
  18. };
  19.  
  20. #define    NULLBUFF    ((struct mbuf *)0)
  21.  
  22. #define MBUF_CTOP(bp)   (bp->base + bp->offset)
  23.  
  24. #define MB_ASYNC    1
  25. #define MB_FSM        2
  26. #define MB_HDLCOUT    3
  27. #define MB_IPIN        4
  28. #define MB_ECHO        5
  29. #define MB_LQR        6
  30. #define MB_MODEM    7
  31. #define MB_VJCOMP    8
  32. #define    MB_LOG        9
  33. #define    MB_IPQ        10
  34. #define    MB_MAX        MB_IPQ
  35.  
  36. extern int plength(struct mbuf *bp);
  37. extern struct mbuf *mballoc(int cnt, int type);
  38. extern struct mbuf *mbfree(struct mbuf *bp);
  39. extern void pfree(struct mbuf *bp);
  40. extern void mbwrite(struct mbuf *bp, u_char *ptr, int cnt);
  41. extern struct mbuf *mbread(struct mbuf *bp, u_char *ptr, int cnt);
  42. extern void DumpBp(struct mbuf *bp);
  43. extern void Enqueue(struct mqueue *queue, struct mbuf *bp);
  44. extern struct mbuf *Dequeue(struct mqueue *queue);
  45. #endif
  46.